package 热题100;

//思路：
/*
使用双指针法：
1，分别从数组的两边定位双指针
2，那个指针的高度低，就移动那个指针，同样高移动左指针
3，每次移动计算最大面积与当前面积的比
4，最后两指针相遇，退出，返回最大面积
 */
public class 热题11盛最多水的容器 {

    public int maxArea(int[] height) {
        int l = 0;//左指针从0开始
        int r = height.length-1;//右指针从最后开始
        int maxArea = 0; //定义最大面积，初始为0
        while (l < r){
            //进来先计算面积；最矮的指针高度 * 左右两边的距离
            int area = Math.min(height[l],height[r]) * (r - l);
            maxArea = maxArea > area ? maxArea : area;//更新最大面积
            if (height[l] <= height[r]){//比较那个矮，就移动哪一个
                l++;
            }else {
                r--;
            }
        }
        //最终l和人相遇，退出循环
        return maxArea;
    }

}
